热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

所有者|本行_Linux26个常用命令

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Linux26个常用命令相关的知识,希望对你有一定的参考价值。manman是Linux的帮助手册

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Linux 26个常用命令相关的知识,希望对你有一定的参考价值。


man

man 是 Linux 的帮助手册,即 manual 。因为大多数程序都会自带手册,所以可以通过 man 命令获取帮助。执行以后,在 man page 页面中按 q 退出。

获取 ls 的帮助

$ man ls

查看有多少(针对不同方面的)同名的手册

$ man -f ls
ls (1) - list directory contents
ls (1p) - list directory contents

查看特定的手册

$ man 1p ls

info

与 man 不同的是,可以像浏览网页一样在各个节点中跳转。

从文档首页开始浏览

$ info

获取特定程序的帮助

$ info program

help

除了上面的两种方法外,还有一种简单使用的方法,那就是 –help 参数,一般程序都会有这个参数,会输出最简单有用的介绍。

$ man --help ### 获取 man 的帮助
$ info --help ### 获取 info 的帮助
$ ls --help ### 获取 ls 的帮助

如何简单操作?

在 Terminal(终端) 中,有许多操作技巧,这里就介绍几个简单的。

光标

up(方向键上) 可以调出输入历史执行记录,快速执行命令
down(方向键下) 配合 up 选择历史执行记录
Home 移动光标到本行开头
End 移动光标到本行结尾
PgUp 向上翻页
PaDN 向下翻页
ctrl + c 终止当前程序

Tab 补全

Tab 补全是非常有用的一个功能,可以用来自动补全命令或文件名,省时准确。

未输入状态下连按两次 Tab 列出所有可用命令
已输入部分命令名或文件名,按 Tab 进行自动补全,多用你就肯定会喜欢的了。

常用命令

以下命令按照通常的使用频度排列。

cd

cd 是打开某个路径的命令,也就是打开某个文件夹,并跳转到该处。

$ cd path ### path 为你要打开的路径。

其中 path 有绝对路径和相对路径之分,绝对路径强调从 / 起,一直到所在路径。相对路径则相对于当前路径来说,假设当前家目录有etc 文件夹(绝对路径应为 /home/username/etc),如果直接 cd etc 则进入此文件夹,但若是 cd /etc/ 则是进入系统 etc ,多琢磨一下就可以理解了。另外在 Linux 中, . 代表当前目录, .. 代表上级目录,因此返回上级目录可以 cd .. 。

ls

ls 即 list ,列出文件。

$ ls ### 仅列出当前目录可见文件
$ ls -l ### 列出当前目录可见文件详细信息
$ ls -hl ### 列出详细信息并以可读大小显示文件大小
$ ls -al ### 列出所有文件(包括隐藏)的详细信息

注意: Linux 中 以 . 开头的文件或文件夹均为隐藏文件或隐藏文件夹。

pwd

pwd 用于返回当前工作目录的名字,为绝对路径名。

$ pwd
/home

mkdir

mkdir 用于新建文件夹。

$ mkdir folder
$ mkdir -p folder/subfolder ### -p 参数为当父目录存在时忽略,若不存在则建立,用此参数可建立多级文件夹

rm

rm 即 remove ,删除文件。

$ rm filename ### 删除 filename
$ rm -i filename ### 删除 filename 前提示,若多个文件则每次提示
$ rm -rf folder/subfolder/ ### 递归删除 subfolder 下所有文件及文件夹,包括 subfolder 自身
$ rm -d folder ### 删除空文件夹

cp

cp 即 copy ,复制文件。

$ cp source dest ### 将 source 复制到 dest
$ cp folder/* dest ### 将 folder 下所有文件(不含子文件夹中的文件)复制到 dest
$ cp -r folder dest ### 将 folder 下所有文件(包含子文件夹中的所有文件)复制到 dest

mv

mv 即 move ,移动文件。

$ mv source folder ### 将 source 移动到 folder 下,完成后则为 folder/source
$ mv -i source folder ### 在移动时,若文件已存在则提示 **是否覆盖**
$ mv source dest ### 在 dest 不为目录的前提下,重命名 source 为 dest

cat

cat 用于输出文件内容到 Terminal 。

$ cat /etc/locale.gen ### 输出 locale.gen 的内容
$ cat -n /etc/locale.gen ### 输出 locale.gen 的内容并显示行号

more

more 与 cat 相似,都可以查看文件内容,所不同的是,当一个文档太长时, cat 只能展示最后布满屏幕的内容,前面的内容是不可见的。这时候可用 more 逐行显示内容。

$ more /etc/locale.gen
$ more +100 /etc/locale.gen ### 从 100 行开始显示

less

less 与 more 相似,不过 less 支持上下滚动查看内容,而 more 只支持逐行显示。

$ less /etc/locale.gen
$ less +100 /etc/locale.gen

nano

nano 是一个简单实用的文本编辑器,使用简单。

$ nano filename ### 编辑 filename 文件,若文件不存在,则新打开一个文件,若退出时保存,则创建该文件

编辑完后,ctrl + X 提示是否保存,按 y 确定保存即可。

注意:在使用过程中可用 ctrl + G 获取帮助。

reboot

reboot 为重启命令。

# reboot ### '$' 和 '#' 的区别在于 '$' 普通用户即可执行
### 而 '#' 为 root 用户才可执行,或普通用户使用 'sudo'

poweroff

poweroff 为关机命令。

# poweroff ### 马上关机

ping

ping 主要用于测试网络连通,通过对目标机器发送数据包来测试两台主机是否连通,及延时情况。

$ ping locez.com ### 通过域名 ping,若 DNS 未设置好,可能无法 ping 通
$ ping linux.cn
PING linux.cn (211.157.2.94) 56(84) bytes of data.
64 bytes from 211.157.2.94.static.in-addr.arpa (211.157.2.94): icmp_seq=1 ttl=53 time=41.5 ms
64 bytes from 211.157.2.94.static.in-addr.arpa (211.157.2.94): icmp_seq=2 ttl=53 time=40.4 ms
64 bytes from 211.157.2.94.static.in-addr.arpa (211.157.2.94): icmp_seq=3 ttl=53 time=41.9 ms
^C
--- linux.cn ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 40.406/41.287/41.931/0.644 ms
$ ping 211.157.2.94 ### 通过 IP 地址 ping ,若无法 ping 通可能是网络连接出现问题

grep

grep 主要用于返回匹配的项目,支持正则表达式。

$ grep PATTERN filename ### 返回所有含有 PATTERN 的行
$ grep zh_CN /etc/locale.gen ### 返回所有含 zh_CN 的行

mount

mount 用于挂载一个文件系统,需要 root 用户执行。一个磁盘可分为若干个分区,在分区上面可以创建文件系统,而挂载点则是提供一个访问的入口,将一个分区的文件系统挂载到某个目录中,称这个目录为挂载点,并且可以通过这个挂载点访问该文件系统中的内容。

例如一块硬盘在 Linux 中表示为 /dev/sda 那么它上面的分区应该表示为 /dev/sda1 、/dev/sda2 。

# mount ### 输出系统目前的挂载信息
# mount /dev/sda1 /mnt ### 将 sda1 挂载到 /mnt 中
# cd /mnt ### 直接通过 /mnt 访问内容
# mount -o remount,rw /mnt ### 重新挂载 sda1 到 /mnt 并设置为 可读写
# mount -a ### 挂载 fstab 文件配置好的文件系统

umount

umount 与 moung 相反,是卸载一个挂载点,即取消该入口。

# umount /mnt ### 卸载 /mnt 这个挂载点的文件系统
# umount -a ### 卸载所有已挂载的文件系统

tar

tar 主要用于创建归档文件,和解压归档文件,其本身是没有压缩功能的,但可以调用 gzip 、 bzip2 进行压缩处理。
参数解释:

-c 创建归档
-x 解压归档
-v 显示处理过程
-f 目标文件,其后必须紧跟 目标文件
-j 调用 bzip2 进行解压缩
-z 调用 gzip 进行解压缩
-t 列出归档中的文件
$ tar -cvf filename.tar . ### 将当前目录所有文件归档,但不压缩,注意后面有个 ’.‘ ,不可省略,代表当前目录的意思
$ tar -xvf filename.tar ### 解压 filename.tar 到当前文件夹
$ tar -cvjf filename.tar.bz2 . ### 使用 bzip2 压缩
$ tar -xvjf filename.tar.bz2 ### 解压 filename.tar.bz2 到当前文件夹
$ tar -cvzf filename.tar.gz ### 使用 gzip 压缩
$ tar -xvzf filename.tar.gz ### 解压 filename.tar.gz 到当前文件夹
$ tar -tf filename ### 只查看 filename 归档中的文件,不解压

ln

ln 主要用于在两个文件中创建链接,链接又分为 Hard Links (硬链接)和 Symbolic Links (符号链接或软链接),其中默认为创建硬链接,使用 -s 参数指定创建软链接。

硬链接主要是增加一个文件的链接数,只要该文件的链接数不为 0 ,该文件就不会被物理删除,所以删除一个具有多个硬链接数的文件,必须删除所有它的硬链接才可删除。
软链接简单来说是为文件创建了一个类似快捷方式的东西,通过该链接可以访问文件,修改文件,但不会增加该文件的链接数,删除一个软链接并不会删除源文件,即使源文件被删除,软链接也存在,当重新创建一个同名的源文件,该软链接则指向新创建的文件。
硬链接只可链接两个文件,不可链接目录,而软链接可链接目录,所以软链接是非常灵活的。
$ ln source dest ### 为 source 创建一个名为 dest 的硬链接
$ ln -s source dest ### 为 source 创建一个名为 dest 的软链接

chown

chown 用于改变一个文件的所有者及所在的组。

# chown user filename ### 改变 filename 的所有者为 user
# chown user:group filename ### 改变 filename 的所有者为 user,组为 group
# chown -R root folder ### 改变 folder 文件夹及其子文件的所有者为 root

chmod

chmod 永远更改一个文件的权限,主要有 读取 、 写入 、 执行 ,三种权限,其中 所有者 、 用户组 、 其他 各占三个,因此 ls -l 可以看到如下的信息

-rwxr--r-- 1 locez users 154 Aug 30 18:09 filename

其中 r=read , w=write , x=execute

# chmod +x filename ### 为 user ,group ,others 添加执行权限
# chmod -x filename ### 取消 user , group ,others 的执行权限
# chmod +w filename ### 为 user 添加写入权限
# chmod ugo=rwx filename ### 设置 user ,group ,others 具有 读取、写入、执行权限
# chmod ug=rw filename ### 设置 user ,group 添加 读取、写入权限
# chmod ugo=--- filename ### 取消所有权限

useradd

useradd 用于添加一个普通用户。

# useradd -m -g users -G audio -s /usr/bin/bash newuser
### -m 创建 home 目录, -g 所属的主组, -G 指定该用户在哪些附加组, -s 设定默认的 shell ,newuser 为新的用户名

passwd

passwd 用于改变用户登录密码。

$ passwd ### 不带参数更改当前用户密码
# passwd newuser ### 更改上述新建的 newuser 的用户密码

whereis

whereis 用于查找文件、手册等。

$ whereis bash
bash: /usr/bin/bash /etc/bash.bashrc /etc/bash.bash_logout /usr/share/man/man1/bash.1.gz /usr/share/info/bash.info.gz
$ whereis -b bash ### 仅查找 binary
bash: /usr/bin/bash /etc/bash.bashrc /etc/bash.bash_logout
$ whereis -m bash ### 仅查找 manual
bash: /usr/share/man/man1/bash.1.gz /usr/share/info/bash.info.gz

find

find 也用于查找文件,但更为强大,支持正则,并且可将查找结果传递到其他命令。

$ find . -name PATTERN ### 从当前目录查找符合 PATTERN 的文件
$ find /home -name PATTERN -exec ls -l \\; # 从 /home 文件查找所有符合 PATTERN 的文件,并交由 ls 输出详细信息

wget

wget 是一个下载工具,简单强大。

$ wget -O newname.md https://github.com/LCTT/TranslateProject/blob/master/README.md ### 下载 README 文件并重命名为 newname.md
$ wget -c url ### 下载 url 并开启断点续传

推荐阅读
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细]
  • MACElasticsearch安装步骤及验证方法
    本文介绍了MACElasticsearch的安装步骤,包括下载ZIP文件、解压到安装目录、启动服务,并提供了验证启动是否成功的方法。同时,还介绍了安装elasticsearch-head插件的方法,以便于进行查询操作。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • Week04面向对象设计与继承学习总结及作业要求
    本文总结了Week04面向对象设计与继承的重要知识点,包括对象、类、封装性、静态属性、静态方法、重载、继承和多态等。同时,还介绍了私有构造函数在类外部无法被调用、static不能访问非静态属性以及该类实例可以共享类里的static属性等内容。此外,还提到了作业要求,包括讲述一个在网上商城购物或在班级博客进行学习的故事,并使用Markdown的加粗标记和语句块标记标注关键名词和动词。最后,还提到了参考资料中关于UML类图如何绘制的范例。 ... [详细]
  • 本文介绍了贝叶斯垃圾邮件分类的机器学习代码,代码来源于https://www.cnblogs.com/huangyc/p/10327209.html,并对代码进行了简介。朴素贝叶斯分类器训练函数包括求p(Ci)和基于词汇表的p(w|Ci)。 ... [详细]
  • 有意向可以发简历到邮箱内推.简历直达组内Leader.能做同事的话,内推奖励全给你. ... [详细]
  • css div中文字位置_超赞的 CSS 阴影技巧与细节
    本文的题目是CSS阴影技巧与细节。CSS阴影,却不一定是box-shadow与filter:drop-shadow,为啥?因为使用其他属性 ... [详细]
  • GO语言 包 if..else.. for循环 switch 数组
    包1.什么是包1.新建一个文件夹,内部写很多go文件,但是包名必须一致,改文件夹就是一个包2.作用和优点包用于组织Go源代码,提供了更好的可重用性与可读性。由于包提供了代码的封装, ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 本文整理了315道Python基础题目及答案,帮助读者检验学习成果。文章介绍了学习Python的途径、Python与其他编程语言的对比、解释型和编译型编程语言的简述、Python解释器的种类和特点、位和字节的关系、以及至少5个PEP8规范。对于想要检验自己学习成果的读者,这些题目将是一个不错的选择。请注意,答案在视频中,本文不提供答案。 ... [详细]
  • gitlab重置password
    ruby没怎么学,自己搭建的gitlab的rootpassword又忘了。幸好看见此帖子,试验okhttp:roland.kierkels.netgitreset-your-git ... [详细]
  • 概述H.323是由ITU制定的通信控制协议,用于在分组交换网中提供多媒体业务。呼叫控制是其中的重要组成部分,它可用来建立点到点的媒体会话和多点间媒体会议 ... [详细]
author-avatar
笑竹舞
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有